Skip to content

Commit d48e546

Browse files
sadik-smdjeevantelukula
authored andcommitted
fix(buildroot): add architecture for buildroot
Add a architecture diagram for buildroot build system using graphviz in graphviz folder and include it in overview rst. Signed-off-by: Mahammed Sadik Shaik <s-sadik@ti.com>
1 parent d9754ba commit d48e546

2 files changed

Lines changed: 390 additions & 1 deletion

File tree

source/buildroot/Overview.rst

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,48 @@ cross-compiled toolchains, root filesystems, Linux kernels, and bootloaders.
88
Buildroot is highly customizable, allowing developers to tailor their Linux
99
environment to meet the specific needs of their embedded projects.
1010

11-
Buildroot official Git repository is hosted at `Gitlab/Buildroot <https://gitlab.com/buildroot.org/buildroot/>`__.
11+
12+
**************************************
13+
Buildroot Architecture for TI Devices
14+
**************************************
15+
16+
The diagram below shows the Buildroot-based Linux embedded software distribution main components for TI devices.
17+
18+
The open-source Linux\ :sup:`®` distribution, based on the Buildroot build system, running on the Arm\ :sup:`®` Cortex\ :sup:`®`\-A processors, includes:
19+
20+
- **TI BSP Components** — the Texas Instruments Board Support Package, comprising:
21+
22+
- The boot chain based on **TF-A** (Trusted Firmware-A) and **U-Boot**.
23+
- The secure monitor based on **TF-A** and **OP-TEE**, running on the Arm\ :sup:`®`
24+
Cortex\ :sup:`®`\-A in secure mode.
25+
- The **OP-TEE** secure OS running on the Arm\ :sup:`®` Cortex\ :sup:`®`\-A in secure mode,
26+
providing a Trusted Execution Environment (TEE) for Trusted Applications.
27+
- The **Linux Kernel** and **TI Kernel Drivers** running on the Arm\ :sup:`®`
28+
Cortex\ :sup:`®`\-A in non-secure mode, along with board-specific **Device Trees**.
29+
- The **TI Linux Firmware** providing co-processor firmwares
30+
(not applicable for AM62Lx-EVM).
31+
32+
- **Buildroot Build System** — consisting of:
33+
34+
- **Buildroot Core**: the upstream Buildroot framework that drives the entire build.
35+
- **Buildroot External-TI**: the TI-specific external tree
36+
(`buildroot-external-TI <https://github.com/TexasInstruments/buildroot-external-TI>`__)
37+
that adds TI board configurations, packages, and patches without modifying upstream Buildroot.
38+
39+
- **Applications** — the user-space software layer built on top of the BSP, including
40+
GUI applications, custom applications, Trusted Applications running under OP-TEE,
41+
and middleware and libraries.
42+
43+
- **Build Artifacts** — the outputs produced by the Buildroot build system: an SD card
44+
image, individual boot artifacts, and a root filesystem.
45+
46+
.. note::
47+
48+
Each component in the diagram below is a **clickable hyperlink** that navigates
49+
directly to the corresponding source repository or documentation.
50+
51+
.. graphviz:: ../graphviz/Buildroot_architecture.gv
52+
:caption: Buildroot-based Linux Architecture for TI Devices
1253

1354
*************************
1455
Key Features of Buildroot
Lines changed: 348 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,348 @@
1+
digraph buildroot_architecture {
2+
rankdir=TB;
3+
graph [splines=ortho, nodesep=0.5, ranksep=0.7,
4+
fontname="Arial", pad=0.5, bgcolor="white"];
5+
node [fontname="Arial", fontsize=7, margin=0];
6+
edge [fontname="Arial", fontsize=11, penwidth=2.0,
7+
arrowsize=1.2];
8+
9+
subgraph cluster_outer {
10+
label="Buildroot-based Linux(R) Embedded Software for TI Devices";
11+
style="filled,bold";
12+
fillcolor="#F0F4FF";
13+
color="#1A237E";
14+
penwidth=4;
15+
fontsize=20;
16+
fontcolor="#1A237E";
17+
fontname="Arial Bold";
18+
19+
apps [
20+
shape=none,
21+
label=<
22+
<TABLE BORDER="4" CELLBORDER="0" CELLSPACING="5"
23+
CELLPADDING="6" BGCOLOR="#E8F5E9"
24+
COLOR="#2E7D32" STYLE="ROUNDED">
25+
<TR>
26+
<TD COLSPAN="2" BGCOLOR="#2E7D32"
27+
STYLE="ROUNDED" WIDTH="300">
28+
<FONT COLOR="white" POINT-SIZE="13">
29+
<B>&#9312; Applications</B>
30+
</FONT>
31+
</TD>
32+
</TR>
33+
<TR>
34+
<TD BGCOLOR="#43A047" STYLE="ROUNDED"
35+
WIDTH="140" HEIGHT="40">
36+
<FONT COLOR="white" POINT-SIZE="11">
37+
<B>GUI Applications</B>
38+
</FONT>
39+
</TD>
40+
<TD BGCOLOR="#43A047" STYLE="ROUNDED"
41+
WIDTH="140" HEIGHT="40">
42+
<FONT COLOR="white" POINT-SIZE="11">
43+
<B>Custom Applications</B>
44+
</FONT>
45+
</TD>
46+
</TR>
47+
<TR>
48+
<TD BGCOLOR="#66BB6A" STYLE="ROUNDED"
49+
WIDTH="140" HEIGHT="40">
50+
<FONT COLOR="white" POINT-SIZE="11">
51+
<B>Trusted Applications</B>
52+
</FONT>
53+
</TD>
54+
<TD BGCOLOR="#66BB6A" STYLE="ROUNDED"
55+
WIDTH="140" HEIGHT="40">
56+
<FONT COLOR="white" POINT-SIZE="11">
57+
<B>Middleware and Libraries</B>
58+
</FONT>
59+
</TD>
60+
</TR>
61+
</TABLE>
62+
>
63+
];
64+
65+
buildroot [
66+
shape=none,
67+
label=<
68+
<TABLE BORDER="4" CELLBORDER="0" CELLSPACING="5"
69+
CELLPADDING="9" BGCOLOR="#FFFDE7"
70+
COLOR="#E65100" STYLE="ROUNDED">
71+
<TR>
72+
<TD COLSPAN="2" BGCOLOR="#E65100"
73+
STYLE="ROUNDED" WIDTH="300"
74+
HREF="https://gitlab.com/buildroot.org/buildroot/"
75+
TARGET="_blank"
76+
TOOLTIP="Buildroot official repository">
77+
<FONT COLOR="white" POINT-SIZE="13">
78+
<B>&#9313; Buildroot Build System</B>
79+
</FONT>
80+
</TD>
81+
</TR>
82+
<TR>
83+
<TD BGCOLOR="#F9A825" STYLE="ROUNDED"
84+
WIDTH="140" HEIGHT="55"
85+
HREF="https://gitlab.com/buildroot.org/buildroot/"
86+
TARGET="_blank"
87+
TOOLTIP="Buildroot Core repository">
88+
<FONT COLOR="#3E2723" POINT-SIZE="13">
89+
<B>Buildroot</B>
90+
</FONT>
91+
</TD>
92+
<TD BGCOLOR="#FFB300" STYLE="ROUNDED"
93+
WIDTH="140" HEIGHT="55"
94+
HREF="https://github.com/TexasInstruments/buildroot-external-TI"
95+
TARGET="_blank"
96+
TOOLTIP="TI Buildroot external tree repository">
97+
<FONT COLOR="#3E2723" POINT-SIZE="13">
98+
<B>Buildroot External-TI</B>
99+
</FONT>
100+
</TD>
101+
</TR>
102+
</TABLE>
103+
>
104+
];
105+
106+
tibsp [
107+
shape=none,
108+
label=<
109+
<TABLE BORDER="4" CELLBORDER="0" CELLSPACING="5"
110+
CELLPADDING="6" BGCOLOR="#EDE7F6"
111+
COLOR="#4527A0" STYLE="ROUNDED">
112+
<TR>
113+
<TD COLSPAN="4" BGCOLOR="#4527A0"
114+
STYLE="ROUNDED" WIDTH="300">
115+
<FONT COLOR="white" POINT-SIZE="13">
116+
<B>&#9314; TI BSP Components</B>
117+
</FONT>
118+
</TD>
119+
</TR>
120+
<TR>
121+
<TD COLSPAN="4" BGCOLOR="#512DA8" STYLE="ROUNDED">
122+
<FONT COLOR="white" POINT-SIZE="10">
123+
<B>Firmware and Security Components</B>
124+
</FONT>
125+
</TD>
126+
</TR>
127+
<TR>
128+
<TD BGCOLOR="#7B1FA2" STYLE="ROUNDED"
129+
WIDTH="68" HEIGHT="40"
130+
HREF="https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/"
131+
TARGET="_blank"
132+
TOOLTIP="Trusted Firmware-A repository">
133+
<FONT COLOR="white" POINT-SIZE="10">
134+
<B>TF-A</B>
135+
</FONT>
136+
</TD>
137+
<TD BGCOLOR="#8E24AA" STYLE="ROUNDED"
138+
WIDTH="68" HEIGHT="40"
139+
HREF="https://github.com/OP-TEE/optee_os"
140+
TARGET="_blank"
141+
TOOLTIP="OP-TEE OS repository">
142+
<FONT COLOR="white" POINT-SIZE="10">
143+
<B>OP-TEE</B>
144+
</FONT>
145+
</TD>
146+
<TD BGCOLOR="#AB47BC" STYLE="ROUNDED"
147+
WIDTH="88" HEIGHT="40"
148+
HREF="https://git.ti.com/cgit/processor-firmware/ti-linux-firmware"
149+
TARGET="_blank"
150+
TOOLTIP="TI Linux Firmware repository">
151+
<FONT COLOR="white" POINT-SIZE="10">
152+
<B>TI Linux Firmware</B>
153+
<BR/>
154+
<FONT POINT-SIZE="7">
155+
(N/A for AM62Lx-EVM)
156+
</FONT>
157+
</FONT>
158+
</TD>
159+
<TD BGCOLOR="#9C27B0" STYLE="ROUNDED"
160+
WIDTH="68" HEIGHT="40"
161+
HREF="https://github.com/u-boot/u-boot"
162+
TARGET="_blank"
163+
TOOLTIP="U-Boot repository">
164+
<FONT COLOR="white" POINT-SIZE="10">
165+
<B>U-Boot</B>
166+
</FONT>
167+
</TD>
168+
</TR>
169+
<TR>
170+
<TD COLSPAN="4" BGCOLOR="#1565C0" STYLE="ROUNDED">
171+
<FONT COLOR="white" POINT-SIZE="10">
172+
<B>Linux Kernel Components</B>
173+
</FONT>
174+
</TD>
175+
</TR>
176+
<TR>
177+
<TD BGCOLOR="#1976D2" STYLE="ROUNDED"
178+
WIDTH="68" HEIGHT="40"
179+
HREF="https://github.com/TexasInstruments/ti-linux-kernel/tree/ti-linux-6.18.y"
180+
TARGET="_blank"
181+
TOOLTIP="Linux Kernel repository">
182+
<FONT COLOR="white" POINT-SIZE="10">
183+
<B>TI Linux Kernel</B>
184+
</FONT>
185+
</TD>
186+
<TD COLSPAN="2" BGCOLOR="#1E88E5"
187+
STYLE="ROUNDED" HEIGHT="40"
188+
HREF="https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel"
189+
TARGET="_blank"
190+
TOOLTIP="TI Linux Kernel repository">
191+
<FONT COLOR="white" POINT-SIZE="10">
192+
<B>TI Kernel Drivers</B>
193+
</FONT>
194+
</TD>
195+
<TD BGCOLOR="#42A5F5" STYLE="ROUNDED"
196+
WIDTH="68" HEIGHT="40"
197+
HREF="https://github.com/torvalds/linux/tree/master/arch/arm64/boot/dts/ti"
198+
TARGET="_blank"
199+
TOOLTIP="TI Device Tree sources">
200+
<FONT COLOR="white" POINT-SIZE="10">
201+
<B>Device Tree</B>
202+
</FONT>
203+
</TD>
204+
</TR>
205+
</TABLE>
206+
>
207+
];
208+
209+
artifacts [
210+
shape=none,
211+
label=<
212+
<TABLE BORDER="4" CELLBORDER="0" CELLSPACING="5"
213+
CELLPADDING="6" BGCOLOR="#F3E5F5"
214+
COLOR="#880E4F" STYLE="ROUNDED">
215+
<TR>
216+
<TD COLSPAN="3" BGCOLOR="#880E4F"
217+
STYLE="ROUNDED" WIDTH="300">
218+
<FONT COLOR="white" POINT-SIZE="13">
219+
<B>Build Artifacts</B>
220+
</FONT>
221+
</TD>
222+
</TR>
223+
<TR>
224+
<TD BGCOLOR="#AD1457" STYLE="ROUNDED"
225+
WIDTH="92" HEIGHT="38">
226+
<FONT COLOR="white" POINT-SIZE="11">
227+
<B>SD Card Image</B>
228+
</FONT>
229+
</TD>
230+
<TD BGCOLOR="#C2185B" STYLE="ROUNDED"
231+
WIDTH="92" HEIGHT="38">
232+
<FONT COLOR="white" POINT-SIZE="11">
233+
<B>Boot Artifacts</B>
234+
</FONT>
235+
</TD>
236+
<TD BGCOLOR="#D81B60" STYLE="ROUNDED"
237+
WIDTH="92" HEIGHT="38">
238+
<FONT COLOR="white" POINT-SIZE="11">
239+
<B>Root Filesystem</B>
240+
</FONT>
241+
</TD>
242+
</TR>
243+
</TABLE>
244+
>
245+
];
246+
247+
legend [
248+
shape=none,
249+
label=<
250+
<TABLE BORDER="2" CELLBORDER="0" CELLSPACING="3"
251+
CELLPADDING="4" BGCOLOR="#FAFAFA"
252+
COLOR="#424242" STYLE="ROUNDED">
253+
<TR>
254+
<TD COLSPAN="2" BGCOLOR="#424242"
255+
STYLE="ROUNDED" WIDTH="200">
256+
<FONT COLOR="white" POINT-SIZE="11">
257+
<B>Legend</B>
258+
</FONT>
259+
</TD>
260+
</TR>
261+
<TR>
262+
<TD BGCOLOR="#2E7D32" STYLE="ROUNDED"
263+
WIDTH="16" HEIGHT="16">
264+
<FONT COLOR="white" POINT-SIZE="4"> </FONT>
265+
</TD>
266+
<TD ALIGN="LEFT" WIDTH="180">
267+
<FONT COLOR="#2E7D32" POINT-SIZE="10">
268+
<B>Applications Layer</B>
269+
</FONT>
270+
</TD>
271+
</TR>
272+
<TR>
273+
<TD BGCOLOR="#E65100" STYLE="ROUNDED"
274+
WIDTH="16" HEIGHT="16">
275+
<FONT COLOR="white" POINT-SIZE="4"> </FONT>
276+
</TD>
277+
<TD ALIGN="LEFT" WIDTH="180">
278+
<FONT COLOR="#E65100" POINT-SIZE="10">
279+
<B>Buildroot Build System</B>
280+
</FONT>
281+
</TD>
282+
</TR>
283+
<TR>
284+
<TD BGCOLOR="#4527A0" STYLE="ROUNDED"
285+
WIDTH="16" HEIGHT="16">
286+
<FONT COLOR="white" POINT-SIZE="4"> </FONT>
287+
</TD>
288+
<TD ALIGN="LEFT" WIDTH="180">
289+
<FONT COLOR="#4527A0" POINT-SIZE="10">
290+
<B>TI BSP Components</B>
291+
</FONT>
292+
</TD>
293+
</TR>
294+
<TR>
295+
<TD BGCOLOR="#880E4F" STYLE="ROUNDED"
296+
WIDTH="16" HEIGHT="16">
297+
<FONT COLOR="white" POINT-SIZE="4"> </FONT>
298+
</TD>
299+
<TD ALIGN="LEFT" WIDTH="180">
300+
<FONT COLOR="#880E4F" POINT-SIZE="10">
301+
<B>Build Artifacts</B>
302+
</FONT>
303+
</TD>
304+
</TR>
305+
</TABLE>
306+
>
307+
];
308+
}
309+
310+
// Vertical flow: apps -> buildroot -> tibsp -> artifacts -> legend
311+
apps -> buildroot [style=invis, weight=100];
312+
buildroot -> tibsp [style=invis, weight=100];
313+
tibsp -> artifacts [style=invis, weight=100];
314+
artifacts -> legend [style=invis, weight=100];
315+
316+
// Data-flow edges (constraint=false so they don't affect layout)
317+
apps -> buildroot [
318+
color="#2E7D32",
319+
penwidth=2.5,
320+
arrowsize=1.2,
321+
fontcolor="#2E7D32",
322+
fontsize=11,
323+
fontname="Arial Bold",
324+
constraint=false
325+
];
326+
327+
tibsp -> buildroot [
328+
color="#4527A0",
329+
penwidth=2.5,
330+
arrowsize=1.2,
331+
fontcolor="#4527A0",
332+
fontsize=11,
333+
fontname="Arial Bold",
334+
constraint=false
335+
];
336+
337+
buildroot -> artifacts [
338+
color="#E65100",
339+
penwidth=3.0,
340+
arrowsize=1.5,
341+
label=" Output ",
342+
fontcolor="#E65100",
343+
fontsize=11,
344+
fontname="Arial Bold",
345+
style=bold,
346+
constraint=false
347+
];
348+
}

0 commit comments

Comments
 (0)