Skip to content

Commit 5732a1e

Browse files
committed
feat(linux): Add how to guide for working with SBOMs
Add How to guide for working with SBOM's with sections * Generating SBOM in SPDX and CycloneDX format * Tools and references for Working with SBOM i.e visualizing, merging, modifying SBOMs Signed-off-by: Yogesh Hegde <y-hegde@ti.com>
1 parent 28e24cc commit 5732a1e

10 files changed

Lines changed: 130 additions & 8 deletions

File tree

configs/AM62LX/AM62LX_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ linux/How_to_Guides/Target/How_To_Enable_M2CC3301_in_linux
127127
linux/How_to_Guides/Target/Runtime_debug_unlock_on_secure_device
128128
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info
129129
linux/How_to_Guides/FAQ/How_to_Integrate_Open_Source_Software
130+
linux/How_to_Guides/FAQ/How_to_work_with_SBOM
130131
linux/How_to_Guides_Hardware_Setup_with_CCS
131132
linux/How_to_Guides/Hardware_Setup_with_CCS/AM62Lx_EVM_Hardware_Setup
132133
linux/Demo_User_Guides/index_Demos

configs/AM62PX/AM62PX_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ linux/How_to_Guides/Target/Runtime_debug_unlock_on_secure_device
172172
linux/How_to_Guides/Target/How_to_Tune_Real_Time_Linux
173173
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info
174174
linux/How_to_Guides/FAQ/How_to_Integrate_Open_Source_Software
175+
linux/How_to_Guides/FAQ/How_to_work_with_SBOM
175176
linux/How_to_Guides_Hardware_Setup_with_CCS
176177
linux/How_to_Guides/Hardware_Setup_with_CCS/AM62Px_EVM_Hardware_Setup
177178
linux/How_to_Guides/Target/How_To_Carve_Out_CMA

configs/AM62X/AM62X_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ linux/How_to_Guides/Target/Runtime_debug_unlock_on_secure_device
176176
linux/How_to_Guides/Target/How_to_Tune_Real_Time_Linux
177177
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info
178178
linux/How_to_Guides/FAQ/How_to_Integrate_Open_Source_Software
179+
linux/How_to_Guides/FAQ/How_to_work_with_SBOM
179180
linux/How_to_Guides_Hardware_Setup_with_CCS
180181
linux/How_to_Guides/Hardware_Setup_with_CCS/AM62x_EVM_Hardware_Setup
181182

configs/AM64X/AM64X_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ linux/How_to_Guides/Hardware_Setup_with_CCS/AM64x_EVM_Hardware_Setup
153153
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
154154
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info
155155
linux/How_to_Guides/FAQ/How_to_Integrate_Open_Source_Software
156+
linux/How_to_Guides/FAQ/How_to_work_with_SBOM
156157
linux/How_to_Guides/Target/Processor_SDK_Linux_File_System_Optimization_Customization
157158

158159
devices/AM64X/index_RTOS

source/devices/AM62LX/linux/Release_Specific_Release_Notes.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ found on the SDK download page or in the installed directory as indicated below.
4040
Software Bill of Materials (SBOM)
4141
=================================
4242

43-
|SDK_FULL_NAME| releases include Software Bill of Materials (SBOM) files in SPDX 3.0
43+
|__SDK_FULL_NAME__| releases include Software Bill of Materials (SBOM) files in SPDX 3.0
4444
format by default. SBOMs for all released artifacts are bundled into a single
45-
archive and can be found on the |SDK_DOWNLOAD_URL|.
45+
archive and can be found on the |__SDK_DOWNLOAD_URL__|
4646

4747
Release 12.00.00.07.04
4848
======================

source/devices/AM62PX/linux/Release_Specific_Release_Notes.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ found on the SDK download page or in the installed directory as indicated below.
4040
Software Bill of Materials (SBOM)
4141
=================================
4242

43-
|SDK_FULL_NAME| releases include Software Bill of Materials (SBOM) files in SPDX 3.0
43+
|__SDK_FULL_NAME__| releases include Software Bill of Materials (SBOM) files in SPDX 3.0
4444
format by default. SBOMs for all released artifacts are bundled into a single
45-
archive and can be found on the |SDK_DOWNLOAD_URL|.
45+
archive and can be found on the |__SDK_DOWNLOAD_URL__|.
4646
Release 12.00.00.07.04
4747
======================
4848

source/devices/AM62X/linux/Release_Specific_Release_Notes.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ found on the SDK download page or in the installed directory as indicated below.
3838
Software Bill of Materials (SBOM)
3939
=================================
4040

41-
|SDK_FULL_NAME| releases include Software Bill of Materials (SBOM) files in SPDX 3.0
41+
|__SDK_FULL_NAME__| releases include Software Bill of Materials (SBOM) files in SPDX 3.0
4242
format by default. SBOMs for all released artifacts are bundled into a single
43-
archive and can be found on the |SDK_DOWNLOAD_URL|.
43+
archive and can be found on the |__SDK_DOWNLOAD_URL__|.
4444

4545
Release 12.00.00.07.04
4646
======================

source/devices/AM64X/linux/Release_Specific_Release_Notes.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ found on the SDK download page or in the installed directory as indicated below.
3838
Software Bill of Materials (SBOM)
3939
=================================
4040

41-
|SDK_FULL_NAME| releases include Software Bill of Materials (SBOM) files in SPDX 3.0
41+
|__SDK_FULL_NAME__| releases include Software Bill of Materials (SBOM) files in SPDX 3.0
4242
format by default. SBOMs for all released artifacts are bundled into a single
43-
archive and can be found on the |SDK_DOWNLOAD_URL|.
43+
archive and can be found on the |__SDK_DOWNLOAD_URL__|.
4444

4545
Release 12.00.00.07.04
4646
======================
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
***************************************************************
2+
How to Guide for working with Software Bill of Materials (SBOM)
3+
***************************************************************
4+
5+
Generating an Software Bill of Materials (SBOM)
6+
===============================================
7+
8+
|__SDK_FULL_NAME__| build generates SBOMs in the following formats and versions:
9+
10+
.. list-table::
11+
:header-rows: 1
12+
:widths: 50 50
13+
14+
* - Format
15+
- Version
16+
- Yocto
17+
- Buildroot
18+
* - SPDX
19+
- 3.0
20+
- Supported
21+
- Not-Supported
22+
* - CycloneDX
23+
- 1.6
24+
- Supported
25+
- Supported
26+
27+
Follow the steps below based on your required format.
28+
29+
Generating an SBOM in SPDX 3.0 Format
30+
-------------------------------------
31+
32+
SPDX 3.0 is generated by default when building |__SDK_FULL_NAME__| Yocto, no extra steps required.
33+
If you require additional vulnerability information, follow these steps:
34+
35+
1. Add the following line to your ``local.conf``:
36+
37+
.. code-block:: text
38+
39+
INHERIT += "vex"
40+
41+
2. Build Yocto according to the build instructions in :ref:`Processor SDK - Building the SDK with Yocto <building-the-sdk-with-yocto>`.
42+
43+
The following artifacts will be generated in the Yocto deploy directory:
44+
45+
.. list-table::
46+
:header-rows: 1
47+
:widths: 50 50
48+
49+
* - File
50+
- Description
51+
* - ``${IMAGE_NAME}.rootfs.spdx.json``
52+
- The SPDX v3.0 SBOM file
53+
* - ``${IMAGE_NAME}.rootfs.json``
54+
- Vulnerability information file generated by ``vex.bbclass``
55+
56+
57+
Generating an SBOM in CycloneDX Format
58+
--------------------------------------
59+
60+
To generate an SBOM in CycloneDX format, follow these steps:
61+
62+
1. Start with the build instructions in :ref:`Processor SDK - Building the SDK with Yocto <building-the-sdk-with-yocto>`
63+
2. After cloning ``oe-layersetup``, uncomment the ``meta-cyclonedx`` line in
64+
the layer configuration file, for example:
65+
66+
.. code-block:: text
67+
68+
meta-cyclonedx,https://github.com/iris-GmbH/meta-cyclonedx.git,main,0170751b487162f8e476fd32d441ddfcf24ca78a,layers=
69+
70+
3. Add the following line to your ``local.conf``:
71+
72+
.. code-block:: text
73+
74+
INHERIT += "cyclonedx-export"
75+
76+
4. Continue to build Yocto according to the build instructions in :ref:`Processor SDK - Building the SDK with Yocto <building-the-sdk-with-yocto>`.
77+
78+
The following artifacts will be generated in the Yocto deploy directory:
79+
80+
.. list-table::
81+
:header-rows: 1
82+
:widths: 50 50
83+
84+
* - File
85+
- Description
86+
* - ``${IMAGE_NAME}.rootfs.cyclonedx.bom.json``
87+
- The CycloneDX SBOM file
88+
* - ``${IMAGE_NAME}.rootfs.cyclonedx.vex.json``
89+
- The CycloneDX VEX file
90+
91+
Working with Software Bill of Materials (SBOM)
92+
==============================================
93+
94+
It is recommended to use open-source tools for working with SBOMs.
95+
The following open-source tools are recommended for working with SBOMs:
96+
97+
.. list-table::
98+
:header-rows: 1
99+
:widths: 20 40 40
100+
101+
* - Format
102+
- Tool
103+
- Description
104+
* - CycloneDX
105+
- `CycloneDX Sunshine <https://github.com/CycloneDX/Sunshine/>`_
106+
- Visualize CycloneDX SBOMs in a human-readable format
107+
* - CycloneDX
108+
- `CycloneDX CLI <https://github.com/CycloneDX/cyclonedx-cli>`_
109+
- BOM analysis, modification, diffing, merging, format conversion, signing and verification.
110+
* - SPDX
111+
- `SPDX Open Source Tools <https://spdx.dev/tools/open-source-tools/>`_
112+
- A collection of open-source tools for working with SPDX SBOMs
113+
114+
.. note::
115+
116+
SPDX 3.0 is not yet widely supported by SPDX tools. Using such tools with
117+
SPDX 3.0 files may give varied or unexpected results.

source/linux/How_to_Guides_Developer_Notes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ Developer Notes
3838
How_to_Guides/FAQ/How_to_Configure_MSMC_memory
3939
How_to_Guides/FAQ/How_to_Check_Device_Tree_Info
4040
How_to_Guides/FAQ/How_to_Integrate_Open_Source_Software
41+
How_to_Guides/FAQ/How_to_work_with_SBOM
4142
How_to_Guides/Host/How_to_Build_a_Ubuntu_Linux_host_under_VMware
4243
How_to_Guides/Host/K3_Resource_Partitioning_Tool
4344
How_to_Guides/Host/How_to_Setup_and_Debug_using_Lauterbach

0 commit comments

Comments
 (0)