Skip to content

Commit 63bad3f

Browse files
jonaswood01StaticRocket
authored andcommitted
docs(debian): Mass update debian guides following 11.01.16.13 release
First passthrough updating debian docs, more to come in future. Fixed formatting and updated some content. Updates following Oct 2025 11.01 release. Signed-off-by: Jonas Wood <[email protected]>
1 parent 6e1f7b5 commit 63bad3f

File tree

5 files changed

+135
-110
lines changed

5 files changed

+135
-110
lines changed

source/debian/Building_Debian_Image.rst

Lines changed: 65 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Introduction
66
============
77

88
Texas Instruments uses the **Armbian** build framework to generate Debian images for its platforms.
9-
*Armbian* describes itself to be a "base operating system"; that is, a build framework used to build
9+
Armbian describes itself to be a "base operating system"; that is, a build framework used to build
1010
Linux images optimized for Single-Board Computers.
1111

1212
|__SDK_DOWNLOAD_URL__| provides Debian images, but users can also build these, especially if users
@@ -22,8 +22,9 @@ time, see `Armbian Documentation <https://docs.armbian.com/>`__.
2222
Get Armbian
2323
-----------
2424

25-
For the time being, TI's fork of Armbian maintains support for TI platforms. Therefore, the first
26-
step is to fetch TI's fork:
25+
For the time being, `TI's fork <https://github.com/TexasInstruments/armbian-build.git>`__ of
26+
`Armbian/build <https://github.com/armbian/build.git>`__ maintains support for TI platforms.
27+
Therefore, the first step is to fetch TI's fork:
2728

2829
.. code-block:: console
2930
@@ -32,75 +33,91 @@ step is to fetch TI's fork:
3233
Repository Structure
3334
--------------------
3435

35-
There are 4 files and directories of relevance to this high-level overview:
36+
The following files and directories are relevant to this high-level overview:
3637

37-
- :file:`configs/`: This directory has configurations for boards, families, kernel configurations,
38-
desktop or CLI environments and so on. To find configuration files relevant to TI, see:
38+
- :file:`config/`: This directory has configurations for boards, families, kernel configurations,
39+
desktop or CLI environments and so on. To find configuration files relevant to TI, see:
3940

40-
- :file:`configs/sources/families/k3.conf`
41-
- :file:`configs/kernel/linux-k3-current.conf`
42-
- :file:`configs/kernel/linux-k3-rt-current.conf`
41+
- :file:`config/boards/<TI EVM board>.conf`
42+
- :file:`config/sources/families/k3.conf`
43+
- :file:`config/kernel/linux-k3-current.conf`
44+
- :file:`config/kernel/linux-k3-rt-current.conf`
4345

44-
- :file:`compile.sh`: This is the script that the user should run for building Armbian images.
46+
- :file:`compile.sh`: This is the script that the user should run for building Armbian images.
4547

46-
- :file:`lib/`: This directory stores the scripts that do most of the work in building Armbian images.
48+
- :file:`lib/`: This directory stores the scripts that do most of the work in building Armbian images.
4749

48-
- :file:`extensions/`: This directory has files that define **extension hooks**. In Armbian, *extension
49-
hooks* are function signatures, which the build framework calls in the process of building an
50-
image. However, the build framework does not define these in ``lib/``. Users can define these
51-
functions and integrate custom steps in the build process. TI has ``extensions/ti-debpkgs.sh``
52-
extension file. To customize the build process, create a new file in this directory, and define
53-
your extension hooks there. Once the file is created, be sure to add the following line to
54-
board/family config file:
50+
- :file:`extensions/`: This directory has files that define **extension hooks**. In Armbian, extension
51+
hooks are function signatures, which the build framework calls in the process of building an
52+
image. However, the build framework does not define these in ``lib/``. Users can define these
53+
functions and integrate custom steps in the build process. TI has ``extensions/ti-debpkgs.sh``
54+
extension file. To customize the build process, create a new file in this directory, and define
55+
your extension hooks there. Once the file is created, be sure to add the following line to
56+
board/family config file:
5557

5658
.. code-block:: console
5759
5860
enable_extension <extension_name>
5961
60-
- :file:`userpatches/`: This directory stores files that define build parameters, user patches and so on.
62+
- :file:`userpatches/`: This directory stores files that define build parameters, user patches and so on.
6163

6264
Building Images
6365
---------------
6466

65-
Armbian supports an interactive build process. To build interactively, go to TI's Armbian fork you
66-
cloned, and use the following command:
67+
Armbian supports both an interactive UI and a noninteractive build process.
6768

68-
.. code-block:: console
69+
.. note::
6970

70-
./compile.sh
71+
This build guide has been tested on an x86 host machine running Ubuntu 22.04. The Armbian :file:`compile.sh` script
72+
builds in an ARM64 docker container. Ensure the following packages are installed:
7173

72-
The build framework will then display dialog boxes. The user can use this to select the board, CLI
73-
or desktop environment, kernel configurations and so on.
74+
.. code-block:: console
7475
75-
To build the image non-interactively, specify all required **Build Switches** in the command:
76+
sudo apt update
77+
sudo apt install docker.io qemu qemu-user-static binfmt-support
7678
77-
.. code-block:: console
79+
- To build interactively:
7880

79-
./compile.sh [command] [switch...] [command...]
81+
.. code-block:: console
8082
81-
A full list of build switches is available at `Build Switches <https://docs.armbian.com/Developer-Guide_Build-Switches/>`__.
83+
./compile.sh
8284
83-
For example, the following command builds the minimal non-RT Trixie image:
85+
The build framework will then display dialog boxes. The user can use this to select the board, CLI
86+
or desktop environment, kernel configurations and so on.
8487

85-
.. code-block:: console
88+
- To build non-interactively:
89+
90+
.. code-block:: console
91+
92+
./compile.sh [command] [switch...] [command...]
93+
94+
A full list of build switches is available at `Build Switches <https://docs.armbian.com/Developer-Guide_Build-Switches/>`__.
95+
96+
.. warning::
97+
98+
If build issues arise, try adding these build switches to the end of the build command:
99+
100+
.. code-block:: console
101+
102+
GIT_SKIP_SUBMODULES=yes SKIP_ARMBIAN_REPO=yes
103+
104+
For example, the following command builds the minimal non-RT Trixie image:
105+
106+
.. code-block:: console
107+
108+
./compile.sh build BOARD=<board> BRANCH=current BUILD_MINIMAL=yes KERNEL_CONFIGURE=no RELEASE=trixie GIT_SKIP_SUBMODULES=yes SKIP_ARMBIAN_REPO=yes
109+
110+
For a list of boards and branches supported by each SoC, refer:
111+
112+
.. csv-table::
113+
:header: "SoC", "Board", "Board Config File", "Branch"
86114

87-
./compile.sh build BOARD=<target> BRANCH=current BUILD_MINIMAL=yes KERNEL_CONFIGURE=no RELEASE=trixie SKIP_ARMBIAN_REPO=yes
88-
89-
For a list of targets corresponding to each board, refer:
90-
91-
+------------------------------+--------------+
92-
| Board | Target |
93-
+==============================+==============+
94-
| AM62P | sk-am62p |
95-
+------------------------------+--------------+
96-
| AM62x | sk-am62b |
97-
+------------------------------+--------------+
98-
| AM62-LP | sk-am62-lp |
99-
+------------------------------+--------------+
100-
| AM62SIP | sk-am62-sip |
101-
+------------------------------+--------------+
102-
| AM64x | sk-am64b |
103-
+------------------------------+--------------+
115+
AM62Lx,am62lxx-evm,``config/boards/am62lxx-evm.conf``,"current, current-rt, edge"
116+
AM62Px,am62pxx-evm,``config/boards/am62pxx-evm.conf``,"current, current-rt, edge"
117+
AM62x,sk-am62b,``config/boards/sk-am62b.conf``,"current, edge"
118+
AM62-LP,sk-am62-lp,``config/boards/sk-am62-lp.conf``,"current, current-rt, edge"
119+
AM62SIP,sk-am62-sip,``config/boards/sk-am62-sip.conf``,"current, current-rt, edge"
120+
AM64x,sk-am64b,``config/boards/sk-am64b.conf``,"current, edge"
104121

105122

106123
``output/images/`` stores the built images. These images have a ``.img`` extension.

source/debian/Building_Debian_Packages.rst

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,92 +2,94 @@
22
Building Debian Packages
33
========================
44

5-
`Debian-Repos <https://github.com/TexasInstruments/debian-repos>`__ is a set of scripts to build TI's Debian packages with a single command.
5+
`debian-repos <https://github.com/TexasInstruments/debian-repos>`__ is a set of scripts to build TI's Debian packages with a single command.
66

77
The generation of a Debian package from a binary or source involves many steps such as, obtaining the source code in tar (compressed) format, generating template files, modifying template file. The host build system and host build environment variables should also be configured.
88

9-
The `run.sh` script handles these steps, thus the building of a deb package for TI's packages is as simple as running `run.sh` with the desired package's name.
9+
The :file:`run.sh` script handles these steps. Therefore, the building of a deb package for TI's packages is as simple as running :file:`run.sh` with the package's name as a command line argument.
1010

1111
This repository is useful to the following audience:
1212

13-
1. Potential package contributors who want to fix bugs or add enhancements to TI packages.
14-
2. Users who want to create a new package with the latest changes or customizations.
15-
3. Anyone who wants to study Debian packaging.
13+
- Potential package contributors who want to fix bugs or add enhancements to TI packages.
14+
- Users who want to create a new package with the latest changes or customizations.
15+
- Anyone who wants to study Debian packaging.
1616

1717
Structure
1818
=========
1919

20-
The `run.sh` file is the "main" script that should be run. It takes as argument the name of the package to be built.
20+
The :file:`run.sh` file is the "main" script. It takes as argument the name of the package to build.
2121

22-
Each TI package has a corresponding directory, named after its source package. Within this directory exists the `suite/<distro-variant>/debian/` path. All Debian related files (`control`, `rules`, man pages etc) for the package are located here.
22+
Each TI package has a corresponding directory, named after its source package. Within this directory exists the :file:`suite/<distro-variant>/debian/` path. All Debian related files (:file:`control`, :file:`rules`, man pages etc) for the package are located here.
2323

24-
There also exists a `<package-name>/version.sh` file. This file is sourced by `run.sh`.
24+
There also exists a :file:`<package-name>/version.sh` file. This file is sourced by :file:`run.sh`.
2525

2626
Setting Up Host for the build
2727
=============================
2828

29-
The `debian-repos` only support native compilation of packages. Hence, the build has to be done either on the ARM64 Target or ARM64 Docker Container or ARM64 Chroot Environment.
29+
`debian-repos <https://github.com/TexasInstruments/debian-repos>`__ only supports native compilation of packages. Therefore, the build has to be done either on the ARM64 target or an ARM64 Docker Container.
3030

3131
When running on native ARM64 target, no additional setup is required. Proceed with Building the Package.
3232

33-
To setup and run an ARM64 Docker, run the following commands:
33+
To setup and run an ARM64 Docker Container, run the following commands:
3434

3535
.. code-block::
3636
37-
# Setup Qemu multiarch support
38-
sudo apt-get install qemu binfmt-support qemu-user-static
39-
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
37+
# Setup Qemu multiarch support
38+
sudo apt install qemu binfmt-support qemu-user-static
39+
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
4040
41-
# Run ARM64 Container
42-
docker pull ghcr.io/texasinstruments/debian-arm64:latest
43-
docker run --rm -it ghcr.io/texasinstruments/debian-arm64:latest
41+
# Run ARM64 Container
42+
docker pull ghcr.io/texasinstruments/debian-arm64:latest
43+
docker run --rm -it ghcr.io/texasinstruments/debian-arm64:latest bash
4444
4545
Building the Package
4646
====================
4747

48-
Clone `debian-repos <https://github.com/TexasInstruments/debian-repos>`__
48+
#. Clone `debian-repos <https://github.com/TexasInstruments/debian-repos>`__:
4949

50-
.. code-block::
50+
.. code-block::
5151
52-
git clone https://github.com/TexasInstruments/debian-repos.git
53-
cd debian-repos
52+
git clone https://github.com/TexasInstruments/debian-repos.git
53+
cd debian-repos
5454
55-
To build a package, the syntax is:
55+
#. Build package:
5656

57-
.. code-block::
57+
.. code-block::
5858
59-
./run.sh <package-name>
59+
./run.sh <package-name>
6060
61-
This command carries out all the necessary steps to build the package including installation of package-specific dependencies. The package and all related files are then stored in `build/<package-name>`.
61+
.. note::
6262

63-
For example: to build `ti-linux-kernel`, the command is:
63+
This command carries out all the necessary steps to build the package including installation of package-specific dependencies.
64+
The package and all related files are then stored in :file:`build/<package-name>`.
6465

65-
.. code-block::
66+
For example: to build :file:`ti-linux-kernel`, the command is:
67+
68+
.. code-block::
6669
67-
./run.sh ti-linux-kernel
70+
./run.sh ti-linux-kernel
6871
69-
The output is then found in `build/ti-linux-kernel/`.
72+
The output is then found in :file:`build/ti-linux-kernel/`.
7073

7174
Adding Packages
7275
===============
7376

7477
To add a package, follow the following steps:
7578

76-
1. Create nested directories as follows:
79+
#. Create directory structure:
7780

78-
.. code-block::
79-
80-
mkdir -p <proj-name>/suite/<distro-variant>/debian/
81+
.. code-block::
8182
82-
2. Copy all ``debian/`` specific files that are relevant to building the package:
83+
mkdir -p <proj-name>/suite/<distro-variant>/debian/
8384
84-
.. code-block::
85+
#. Copy all :file:`debian/` specific files that are relevant to building the package:
8586

86-
cp /path/to/debian/* -r <proj-name>/suite/<distro-variant>/debian/
87+
.. code-block::
8788
88-
3. In ``<proj-name>/``, create the ``version.sh`` file. The file must export the following variables:
89+
cp /path/to/debian/* -r <proj-name>/suite/<distro-variant>/debian/
8990
90-
.. code-block::
91+
#. In :file:`<proj-name>/`, create the :file:`version.sh` file. The file must export the following variables:
9192

92-
git_repo # link from which to clone
93+
.. code-block::
9394
95+
git_repo # link from which to clone

source/debian/Overview.rst

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,18 @@ TI creates Debian images by using the popular project called **Armbian**. Armbia
1111
Single-Board Computers. Unlike other tools, such as mmdebstrap and bdebstrap, which are often
1212
used for creating Debian images, Armbian focuses on creating images for Single-Board Computers.
1313

14-
TI's AM62LX, AM62Px, AM62x and AM64x platforms offer the Debian distribution. Few key highlights of
15-
this project are:
14+
A few key highlights of this project are:
1615

17-
- The Debian filesystem image requires standard packages from debian.org and TI's customizations as
18-
``.deb`` packages. TI's package build infrastructure uses public sources of git repositories to build
19-
deb packages. TI's official repository maintained on `Github/TexasInstruments/ti-debpkgs
20-
<https://github.com/TexasInstruments/ti-debpkgs>`__ hosts these packages.
16+
- The Debian filesystem image requires standard packages from debian.org and TI's additional packages as
17+
``.deb`` packages. TI's package build infrastructure uses public sources of git repositories to build
18+
deb packages. TI's official repository maintained on `Github/TexasInstruments/ti-debpkgs
19+
<https://github.com/TexasInstruments/ti-debpkgs>`__ hosts these packages.
2120

22-
- This document also provides the required steps and instructions to customize the TI's components
23-
for AM62Lx, AM62Px, AM62x and AM64x Systems-on-Chip and create the corresponding deb packages.
21+
- This document also provides the required steps and instructions to customize the TI's components
22+
for |__PART_FAMILY_DEVICE_NAMES__| System-on-a-Chip (SoC) and create the corresponding deb packages.
2423

25-
- The entire project is public and we accept community contributions as pull requests to GitHub
26-
repositories.
24+
- The entire project is public and we accept community contributions as pull requests to GitHub
25+
repositories.
2726

2827
Debian vs Yocto
2928
===============
@@ -37,8 +36,8 @@ Comparison
3736
+-------------------+--------------------------------------+---------------------------------------+
3837
| **File System** | **Debian** | **OpenEmbedded/Yocto (Arago)** |
3938
+-------------------+--------------------------------------+---------------------------------------+
40-
| Build Time | Faster since all the packages are | All the packages are built from |
41-
| | downloaded as deb packages and | source. so build time is too high. |
39+
| Build Time | Fast since all the packages are | All the packages are built from |
40+
| | downloaded as deb packages and | source. so build time is high. |
4241
| | installed. | |
4342
+-------------------+--------------------------------------+---------------------------------------+
4443
| Patching SW Stack | Difficult because all components are | Since all the components are built |
@@ -59,8 +58,9 @@ Comparison
5958
Acknowledgements
6059
================
6160

62-
- `armbian/build <https://github.com/armbian/build/>`__
63-
- `beagleboard/repos-arm64 <https://git.beagleboard.org/beagleboard/repos-arm64>`__
61+
- `armbian/build <https://github.com/armbian/build/>`__
62+
- `TI/armbian-build <https://github.com/TexasInstruments/armbian-build>`__
63+
- `beagleboard/repos-arm64 <https://git.beagleboard.org/beagleboard/repos-arm64>`__
6464

6565

6666
.. _technical-support:
@@ -74,13 +74,10 @@ path for developing a product based on the Linux/Debian/RTOS/Android SDKs.
7474
However, we know we'll never cover everything that can be done, and
7575
occasionally we even make mistakes <gasp>. So, when you can't seem to
7676
find what you need, there's a good place to search through previously
77-
answered questions and ask a new one - The E2E Support Forums.
78-
79-
There is an active community of TIers and other customers like you
80-
already using a TI Processor, on these forums. You may find your
81-
question has already been answered with a quick Search of the Forums. If
82-
not, a quick post will likely provide you the answers you need.
83-
84-
- `E2E Processor Support
85-
<https://e2e.ti.com/support/processors/>`__
77+
answered questions or ask a new one:
78+
the `E2E Support Forums <https://e2e.ti.com/support/processors/>`__.
8679

80+
The E2E Support Forums is an active community of TIers and other customers
81+
like you already using a TI Processor. You may find your question has already
82+
been answered with a quick Search of the Forums. If not, a quick post will
83+
likely provide you the answers you need.

source/debian/_Debian_Developers_Guide.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ Thank you for choosing to evaluate one of our `TI Processors
33
of the Box experience is designed to quickly
44
provide the information you need most while evaluating a TI
55
microprocessor, specifically running one of the Software Architectures
6-
available, Embedded Linux.
6+
available: Embedded Linux.
77

source/linux/How_to_Guides/Target/How_To_Enable_M2CC3301_in_linux.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,16 @@ Connect to Wi-Fi
114114

115115
.. code-block:: console
116116
117+
nmcli device wifi list
117118
nmcli device wifi connect "<SSID>" password "<password>"
118119
120+
.. note::
121+
122+
The following command also works and will prompt for a password:
123+
124+
.. code-block:: console
125+
126+
nmcli device wifi connect --ask "<SSID>"
127+
119128
For more information on the Wi-Fi capabilities of the CC33xx devices, please
120129
see the documentation that can be found in the `CC33xx SDK <https://www.ti.com/tool/CC33XX-SOFTWARE>`_.

0 commit comments

Comments
 (0)