Skip to content

Commit a2ae383

Browse files
authored
Merge pull request #2 from TexasInstruments/readme
Update README file for buildroot external tree
2 parents ea72bbe + c8e6a23 commit a2ae383

File tree

1 file changed

+145
-1
lines changed

1 file changed

+145
-1
lines changed

README.md

Lines changed: 145 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,145 @@
1-
# buildroot-external-TI
1+
# TI Buildroot external tree
2+
3+
Buildroot is a tool/build framework that simplifies and automates the process of
4+
building complete Linux systems for embedded devices. It simplifies the process
5+
of building a cross-compiled toolchain, a root filesystem, a Linux kernel,
6+
and a bootloader. This repository is a Buildroot `BR2_EXTERNAL` tree
7+
dedicated to supporting TI's SITARA platforms.
8+
9+
The use of an external tree, such as buildroot-external-TI, allows for
10+
customization and extension of Buildroot without modifying the original
11+
Buildroot source. Upstream Buildroot also contains pre-defined
12+
configurations for SITARA platforms, but they use the upstream versions
13+
of U-Boot and Linux, while the configurations in this `BR2_EXTERNAL`
14+
tree uses the versions provided and supported by TI.
15+
16+
## Available configurations
17+
18+
This `BR2_EXTERNAL` tree provides two Buildroot configurations:
19+
20+
1. `ti_release_am62x_sk_defconfig` for Linux
21+
2. `ti_release_am62x_sk_rt_defconfig` for RT-Linux.
22+
23+
It supports following variants of AM62x EVM:
24+
- [SK-AM62](https://www.ti.com/tool/SK-AM62)
25+
- [SK-AM62B](https://www.ti.com/tool/SK-AM62B)
26+
- [SK-AM62B-P1](https://www.ti.com/tool/SK-AM62B-P1)
27+
28+
It builds and packages following main components:
29+
- [ti-u-boot](https://git.ti.com/cgit/ti-u-boot/ti-u-boot/)
30+
- [ti-linux-kernel](https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/)
31+
- [optee](https://github.com/OP-TEE/optee_os)
32+
- [TF-A](https://github.com/ARM-software/arm-trusted-firmware)
33+
- [ti-linux-firmware](https://git.ti.com/cgit/processor-firmware/ti-linux-firmware)
34+
- [busybox](https://git.busybox.net/busybox/)
35+
36+
## Pre-built SD card images
37+
38+
Pre-built buildroot SD card images are available at:
39+
40+
- [PROCESSOR-SDK-AM62X](https://www.ti.com/tool/PROCESSOR-SDK-AM62X)
41+
42+
## Building Buildroot from source
43+
44+
### Pre-requisites
45+
46+
To use Buildroot, a Linux distribution must be installed on your workstation.
47+
Any reasonably recent Linux distribution (Ubuntu, Debian, Fedora, Redhat,
48+
OpenSuse, etc.) is suitable.
49+
50+
Additionally, a small set of packages must be installed
51+
[Buildroot manual System requirements
52+
section](https://buildroot.org/downloads/manual/manual.html#requirement).
53+
54+
For Debian/Ubuntu distributions, the necessary packages can be installed with
55+
the following command:
56+
57+
```bash
58+
$ sudo apt install debianutils sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc git findutils wget
59+
```
60+
61+
Optional dependencies are available for enabling Buildroot features such as
62+
interface configuration, legal information and documentation. For detailed
63+
information refer
64+
[corresponding manual section](https://buildroot.org/downloads/manual/manual.html#requirement-optional).
65+
66+
### Steps to build the SD card image
67+
68+
- Clone the Buildroot repository to local machine.
69+
70+
```bash
71+
$ git clone -b 2024.05.1 https://github.com/buildroot/buildroot
72+
```
73+
74+
- Clone the `BR2_EXTERNAL` tree:
75+
76+
```bash
77+
$ git clone -b 10.00.07 https://github.com/TexasInstruments/buildroot-external-TI.git
78+
```
79+
80+
- The directories for `buildroot` and `buildroot-external-ti` are now located
81+
side-by-side.
82+
83+
### Configure and build
84+
85+
- Go to the Buildroot directory:
86+
87+
```bash
88+
$ cd buildroot/
89+
```
90+
91+
- Configure Buildroot to use the external tree by setting the BR2_EXTERNAL environment
92+
variable. This tells Buildroot to include the configurations and packages from
93+
the external tree during the build process. To configure the system for build,
94+
choose any of the *defconfigs* provided in this `BR2_EXTERNAL` tree. For example:
95+
96+
```bash
97+
For AM62X
98+
buildroot/ $ make BR2_EXTERNAL=../buildroot-external-TI ti_release_am62x_sk_defconfig
99+
```
100+
101+
- To further customize the Buildroot configuration, run `make menuconfig`. This
102+
step is optional but useful if you need to make specific adjustments.
103+
104+
- Build the SD card image for SDK 10.0
105+
106+
```bash
107+
buildroot/ $ make TI_K3_BOOT_FIRMWARE_VERSION=10.00.07
108+
```
109+
110+
- This process compiles the necessary components and creates the root filesystem,
111+
kernel, and bootloader. The build process can take some time, depending on your
112+
system's resources and the complexity of the configuration.
113+
114+
## Flashing and booting the SD card image
115+
116+
- The Buildroot configurations generate a compressed ready-to-use SD card image,
117+
available as `output/images/sdcard.img`.
118+
119+
- Flash the image on a SD card:
120+
121+
```bash
122+
buildroot/ $ sudo dd if=output/images/sdcard.img of=/dev/sdX
123+
```
124+
125+
Replace /dev/sdX with the appropriate device identifier for your SD card.
126+
127+
- Tools like [balena-ethcer](https://etcher.balena.io/) can also be used to flash
128+
the SD card image.
129+
130+
- Insert the SD card in SD card slot and power on the board. The system will start,
131+
with the console on UART. You can log-in as `root` with no password.
132+
133+
# Going further
134+
135+
* [PROCESSOR-SDK-AM62X](https://www.ti.com/tool/PROCESSOR-SDK-AM62X#overview)
136+
137+
# References
138+
139+
* [Buildroot](https://buildroot.org/)
140+
* [Buildroot reference manual](https://buildroot.org/downloads/manual/manual.html)
141+
* [Buildroot system development training course](https://bootlin.com/training/buildroot/)
142+
143+
# Technical support
144+
145+
Visit [E2E](https://e2e.ti.com/support/processors/) for Technical support.

0 commit comments

Comments
 (0)