summaryrefslogtreecommitdiff
path: root/Documentation/sbom/sbom_generation.svg
blob: 2a5e4f57f2425fd51be1eec1fc9766388d7ba1d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="401px" preserveAspectRatio="none" style="width:949px;height:401px;background:#FFFFFF;" version="1.1" viewBox="0 0 949 401" width="949px" zoomAndPan="magnify"><defs/><g><g id="elem_gcc"><rect fill="#F1F1F1" height="83.1997" style="stroke:#181818;stroke-width:0.5;" width="187" x="48.5" y="17"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173" x="55.5" y="32.0059">src/sbom/compiler-gcc.json</text><line style="stroke:#181818;stroke-width:1.0;" x1="48.5" x2="235.5" y1="37.7999" y2="37.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="53.5" y="52.8059">software-name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="158.5" y="52.8059">GCC</text><line style="stroke:#181818;stroke-width:1.0;" x1="153.5" x2="153.5" y1="37.7999" y2="58.5999"/><line style="stroke:#181818;stroke-width:1.0;" x1="48.5" x2="235.5" y1="58.5999" y2="58.5999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="78" y="73.6058">version</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="158.5" y="73.6058">x.y.z</text><line style="stroke:#181818;stroke-width:1.0;" x1="153.5" x2="153.5" y1="58.5999" y2="79.3998"/><line style="stroke:#181818;stroke-width:1.0;" x1="48.5" x2="235.5" y1="79.3998" y2="79.3998"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="95" y="94.4057">...</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="158.5" y="94.4057">...</text><line style="stroke:#181818;stroke-width:1.0;" x1="153.5" x2="153.5" y1="79.3998" y2="100.1997"/></g><g id="elem_me"><rect fill="#F1F1F1" height="62.3998" style="stroke:#181818;stroke-width:0.5;" width="270" x="7" y="140"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="143" x="70.5" y="155.0059">src/sbom/intel-me.json</text><line style="stroke:#181818;stroke-width:1.0;" x1="7" x2="277" y1="160.7999" y2="160.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="12" y="175.8059">software-name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155" x="117" y="175.8059">Intel Mangement Engine</text><line style="stroke:#181818;stroke-width:1.0;" x1="112" x2="112" y1="160.7999" y2="181.5999"/><line style="stroke:#181818;stroke-width:1.0;" x1="7" x2="277" y1="181.5999" y2="181.5999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="53.5" y="196.6058">...</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="117" y="196.6058">...</text><line style="stroke:#181818;stroke-width:1.0;" x1="112" x2="112" y1="181.5999" y2="202.3998"/></g><g id="elem_ucode"><rect fill="#F1F1F1" height="62.3998" style="stroke:#181818;stroke-width:0.5;" width="212" x="36" y="243"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="189" x="47.5" y="258.0059">src/sbom/intel-microcode.json</text><line style="stroke:#181818;stroke-width:1.0;" x1="36" x2="248" y1="263.7999" y2="263.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="41" y="278.8059">software-name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="146" y="278.8059">Intel Microcode</text><line style="stroke:#181818;stroke-width:1.0;" x1="141" x2="141" y1="263.7999" y2="284.5999"/><line style="stroke:#181818;stroke-width:1.0;" x1="36" x2="248" y1="284.5999" y2="284.5999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="82.5" y="299.6058">...</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="146" y="299.6058">...</text><line style="stroke:#181818;stroke-width:1.0;" x1="141" x2="141" y1="284.5999" y2="305.3998"/></g><g id="elem_ec"><rect fill="#F1F1F1" height="62.3998" style="stroke:#181818;stroke-width:0.5;" width="173" x="711.5" y="27"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="159" x="718.5" y="42.0059">src/sbom/generic-ec.json</text><line style="stroke:#181818;stroke-width:1.0;" x1="711.5" x2="884.5" y1="47.7999" y2="47.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="716.5" y="62.8059">software-name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="821.5" y="62.8059">ecxyz</text><line style="stroke:#181818;stroke-width:1.0;" x1="816.5" x2="816.5" y1="47.7999" y2="68.5999"/><line style="stroke:#181818;stroke-width:1.0;" x1="711.5" x2="884.5" y1="68.5999" y2="68.5999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="758" y="83.6058">...</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="821.5" y="83.6058">...</text><line style="stroke:#181818;stroke-width:1.0;" x1="816.5" x2="816.5" y1="68.5999" y2="89.3998"/></g><g id="elem_fsp"><rect fill="#F1F1F1" height="83.1997" style="stroke:#181818;stroke-width:0.5;" width="288" x="654" y="130"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="163" x="716.5" y="145.0059">src/sbom/generic-fsp.json</text><line style="stroke:#181818;stroke-width:1.0;" x1="654" x2="942" y1="150.7999" y2="150.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="659" y="165.8059">software-name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173" x="764" y="165.8059">Firmware Support Package</text><line style="stroke:#181818;stroke-width:1.0;" x1="759" x2="759" y1="150.7999" y2="171.5999"/><line style="stroke:#181818;stroke-width:1.0;" x1="654" x2="942" y1="171.5999" y2="171.5999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="683.5" y="186.6058">version</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="764" y="186.6058">x.y.z</text><line style="stroke:#181818;stroke-width:1.0;" x1="759" x2="759" y1="171.5999" y2="192.3998"/><line style="stroke:#181818;stroke-width:1.0;" x1="654" x2="942" y1="192.3998" y2="192.3998"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="700.5" y="207.4057">...</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="764" y="207.4057">...</text><line style="stroke:#181818;stroke-width:1.0;" x1="759" x2="759" y1="192.3998" y2="213.1997"/></g><g id="elem_payload"><rect fill="#F1F1F1" height="83.1997" style="stroke:#181818;stroke-width:0.5;" width="181" x="707.5" y="253"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="167" x="714.5" y="268.0059">src/sbom/payload-[...].json</text><line style="stroke:#181818;stroke-width:1.0;" x1="707.5" x2="888.5" y1="273.7999" y2="273.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="712.5" y="288.8059">software-name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="817.5" y="288.8059">...</text><line style="stroke:#181818;stroke-width:1.0;" x1="812.5" x2="812.5" y1="273.7999" y2="294.5999"/><line style="stroke:#181818;stroke-width:1.0;" x1="707.5" x2="888.5" y1="294.5999" y2="294.5999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="737" y="309.6058">version</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="817.5" y="309.6058">x.y.z</text><line style="stroke:#181818;stroke-width:1.0;" x1="812.5" x2="812.5" y1="294.5999" y2="315.3998"/><line style="stroke:#181818;stroke-width:1.0;" x1="707.5" x2="888.5" y1="315.3998" y2="315.3998"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="754" y="330.4057">...</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="817.5" y="330.4057">...</text><line style="stroke:#181818;stroke-width:1.0;" x1="812.5" x2="812.5" y1="315.3998" y2="336.1997"/></g><g id="elem_coreboot"><rect fill="#F1F1F1" height="103.9996" style="stroke:#181818;stroke-width:0.5;" width="209" x="361" y="291"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="148" x="391.5" y="306.0059">src/sbom/coreboot.json</text><line style="stroke:#181818;stroke-width:1.0;" x1="361" x2="570" y1="311.7999" y2="311.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="366" y="326.8059">software-name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="471" y="326.8059">coreboot</text><line style="stroke:#181818;stroke-width:1.0;" x1="466" x2="466" y1="311.7999" y2="332.5999"/><line style="stroke:#181818;stroke-width:1.0;" x1="361" x2="570" y1="332.5999" y2="332.5999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="390.5" y="347.6058">version</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="471" y="347.6058">x.y.z</text><line style="stroke:#181818;stroke-width:1.0;" x1="466" x2="466" y1="332.5999" y2="353.3998"/><line style="stroke:#181818;stroke-width:1.0;" x1="361" x2="570" y1="353.3998" y2="353.3998"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="16" x="405.5" y="368.4057">url</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="471" y="368.4057">coreboot.rocks</text><line style="stroke:#181818;stroke-width:1.0;" x1="466" x2="466" y1="353.3998" y2="374.1997"/><line style="stroke:#181818;stroke-width:1.0;" x1="361" x2="570" y1="374.1997" y2="374.1997"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="407.5" y="389.2057">...</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="471" y="389.2057">...</text><line style="stroke:#181818;stroke-width:1.0;" x1="466" x2="466" y1="374.1997" y2="394.9996"/></g><g id="elem_uswid"><rect fill="#F1F1F1" height="45.5999" style="stroke:#181818;stroke-width:0.5;" width="241" x="345" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="428" y="22.0059">sbom.uswid</text><line style="stroke:#181818;stroke-width:0.5;" x1="346" x2="585" y1="27.7999" y2="27.7999"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="229" x="351" y="44.8059">merged SBOM data in binary format</text></g><g id="elem_goswid"><rect fill="#F1F1F1" height="163.1993" style="stroke:#181818;stroke-width:0.5;" width="225" x="353" y="88.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44" x="443.5" y="103.5059">goswid</text><line style="stroke:#181818;stroke-width:0.5;" x1="354" x2="577" y1="109.2999" y2="109.2999"/><polygon fill="none" points="364,118.1999,368,122.1999,364,126.1999,360,122.1999" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="373" y="126.3059">./goswid</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="373" y="143.1058">--compiler gcc.json</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="141" x="373" y="159.9057">--parent coreboot.json</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="199" x="373" y="176.7057">--requires fsp.json,payload.json</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="373" y="193.5056">intel-me.json</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="373" y="210.3055">intel-ec.json</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100" x="373" y="227.1054">intel-ucode.json</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129" x="373" y="243.9054">--output sbom.uswid</text></g><!--MD5=[4918544efbcb188b8a7757094362b13c]
link gcc to goswid--><g id="link_gcc_goswid"><path codeLine="50" d="M243.4,92.29 C276.15,103.8 312.8,116.68 346.7,128.6 " fill="none" id="gcc-to-goswid" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="351.12,130.15,343.9558,123.3917,346.4029,128.4919,341.3028,130.939,351.12,130.15" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[4dd9e64dfe99293b397c567cda86ce7e]
link me to goswid--><g id="link_me_goswid"><path codeLine="51" d="M284.95,170 C305.44,170 326.35,170 346.31,170 " fill="none" id="me-to-goswid" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="351.24,170,342.24,166,346.24,170,342.24,174,351.24,170" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[d7eb729953c89f90ee34d79e977c9d9e]
link ucode to goswid--><g id="link_ucode_goswid"><path codeLine="52" d="M248.72,239.13 C280.07,229.09 314.61,218.02 346.68,207.75 " fill="none" id="ucode-to-goswid" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="351.2,206.3,341.4078,205.245,346.4397,207.8296,343.8551,212.8615,351.2,206.3" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[7a44b31c2b8314bdd1505531e9a33bbd]
reverse link goswid to ec--><g id="link_goswid_ec"><path codeLine="53" d="M584.54,129.1 C605.02,122.04 626.12,114.79 646,108 C664.59,101.65 684.48,94.9 703.53,88.46 " fill="none" id="goswid-backto-ec" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="579.92,130.69,589.732,131.5412,584.6475,129.0618,587.1269,123.9773,579.92,130.69" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[fc74783236d55f36e4f8a2c816f5f147]
reverse link goswid to fsp--><g id="link_goswid_fsp"><path codeLine="54" d="M584.82,170 C604.74,170 625.65,170 646.25,170 " fill="none" id="goswid-backto-fsp" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="579.91,170,588.91,174,584.91,170,588.91,166,579.91,170" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[0bb7778bfeb2bbeecbbe903135b9ed39]
reverse link goswid to payload--><g id="link_goswid_payload"><path codeLine="55" d="M584.42,213.88 C622.16,227.93 663.49,243.31 699.6,256.75 " fill="none" id="goswid-backto-payload" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="579.81,212.17,586.8509,219.0566,584.4963,213.9131,589.6399,211.5585,579.81,212.17" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[8367c5f05c2f9b7a12d32d677f99f5c7]
reverse link goswid to coreboot--><g id="link_goswid_coreboot"><path codeLine="57" d="M465.5,258.3 C465.5,267.95 465.5,277.59 465.5,287.23 " fill="none" id="goswid-backto-coreboot" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="465.5,253.48,461.5,262.48,465.5,258.48,469.5,262.48,465.5,253.48" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[1e17c1fe2e3c525269e1ca938c184480]
reverse link uswid to goswid--><g id="link_uswid_goswid"><path codeLine="58" d="M465.5,59.5 C465.5,69.08 465.5,78.66 465.5,88.24 " fill="none" id="uswid-backto-goswid" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="465.5,54.72,461.5,63.72,465.5,59.72,469.5,63.72,465.5,54.72" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[f035cc917737bdf304dc08c266828a23]
@startuml

map "src/sbom/compiler-gcc.json" as gcc {
    software-name => GCC
    version => x.y.z
    ... => ...
}
map "src/sbom/intel-me.json" as me {
    software-name => Intel Mangement Engine
    ... => ...
}
map "src/sbom/intel-microcode.json" as ucode {
    software-name => Intel Microcode
    ... => ...
}
map "src/sbom/generic-ec.json" as ec {
    software-name => ecxyz
    ... => ...
}
map "src/sbom/generic-fsp.json" as fsp {
    software-name => Firmware Support Package
    version => x.y.z
    ... => ...
}
map "src/sbom/payload-[...].json" as payload {
    software-name => ...
    version => x.y.z
    ... => ...
}
map "src/sbom/coreboot.json" as coreboot {
    software-name => coreboot
    version => x.y.z
    url => coreboot.rocks
    ... => ...
}
object "sbom.uswid" as uswid {
    merged SBOM data in binary format
}
object goswid {
    # ./goswid
        - -compiler gcc.json
        - -parent coreboot.json
        - -requires fsp.json,payload.json
        intel-me.json
        intel-ec.json
        intel-ucode.json
        - -output sbom.uswid
}

left to right direction
gcc - -> goswid
me - -> goswid
ucode - -> goswid
goswid <- - ec
goswid <- - fsp
goswid <- - payload

coreboot -up> goswid
goswid -up> uswid

@enduml

PlantUML version 1.2022.7(Mon Aug 22 19:01:30 CEST 2022)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>