Skip to content

Commit 6ecb904

Browse files
committed
feat(debian): AM62LX: Armbian-ize Debian docs for AM62L
Up until now, Debian images have been built using `ti-bdebstrap`. The docs presently reflect this. Starting with the 11.00.15.05 Linux SDK release, Debian images are built with the Armbian Build Framework. Therefore, edit AM62L-specific docs to remove references to `ti-bdebstrap` and add information about Armbian. Note: Only AM62L-specific changes have been made, using ifconfig's and a new `Building_Debian_Image` file. This is because the other devices are still going to use Debian until the 11.1 release. Also add "Armbian" and "Debian" as recognized words for Vale. Signed-off-by: Suhaas Joshi <[email protected]>
1 parent 13e36c3 commit 6ecb904

File tree

6 files changed

+96
-6
lines changed

6 files changed

+96
-6
lines changed

.github/styles/config/vocabularies/PSDK/accept.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@ Zink
2222
[Ss]carthgap
2323
[Tt]oolchain
2424
balenaEtcher
25+
Armbian
26+
Debian

configs/AM62LX/AM62LX_debian_toc.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ devices/AM62LX/debian/index
22

33
debian/Overview
44
devices/AM62LX/debian/Getting_Started_Guide
5-
debian/Building_Debian_Image
5+
devices/AM62LX/debian/Building_Debian_Image
66
debian/Building_Debian_Packages
77
debian/How_to_Guides/index_How_to_Guides
88
linux/How_to_Guides/Target/How_To_Enable_M2CC3301_in_linux

source/debian/Overview.rst

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,34 @@
22
Overview
33
########
44

5+
.. ifconfig:: CONFIG_part_variant in ('AM62LX')
6+
7+
Armbian is a highly-optimized **base operating system** (i.e. an extensive build framework) for building Debian-based images for Single-Board Computers (SBCs).
8+
9+
510
Debian, also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project.
611

7-
The Linux Debian distribution is enabled for TI's AM62Lx, AM62Px, AM62x and AM64x platforms. Few key highlights of this project are:
12+
.. ifconfig:: CONFIG_part_variant in ('AM62LX')
13+
14+
The Linux Debian distribution, built using Armbian, is enabled for TI's AM62Lx platform. Few key highlights of this project are:
15+
16+
.. ifconfig:: CONFIG_part_variant not in ('AM62LX')
17+
18+
The Linux Debian distribution is enabled for TI's AM62Px, AM62x and AM64x platforms. Few key highlights of this project are:
819

920
- The Debian filesystem image requires standard packages from debian.org and TI's customizations as .deb packages. The deb packages for the components owned by TI are built using the public sources hosted on respective git repositories and the deb packages are hosted on TI's official PPA repository maintained on `Github/TexasInstruments <https://github.com/TexasInstruments/ti-debpkgs>`__.
1021

11-
- The entire Debian build process is made easy with a build script, the script "ti-bdebstrap" is hosted on `TI Debian Github <https://github.com/TexasInstruments/ti-bdebstrap>`__.
22+
.. ifconfig:: CONFIG_part_variant not in ('AM62LX')
23+
24+
- The entire Debian build process is made easy with a build script, the script "ti-bdebstrap" is hosted on `TI Debian Github <https://github.com/TexasInstruments/ti-bdebstrap>`__.
1225

1326
- This document also provides the required steps and instructions to customize the TI's components for AM62Lx, AM62Px, AM62x and AM64x SOCs and create the corresponding deb packages.
1427

1528
- The entire project is made public and we accept community contributions as pull requests to github repositories.
1629

17-
- Github actions are enabled for the buildscripts workflow. So, any change in the config files, package additions or modifications in build scripts will result in auto generation of a new debian filesystem that reflects these changes. The new builds will store the filesystem image as an artifact hosted on the same repo, allowing other users to test the change without making a new build. These images are available via github for 90 days after which they may be purged to save disk space.
30+
.. ifconfig:: CONFIG_part_variant not in ('AM62LX')
31+
32+
- Github actions are enabled for the buildscripts workflow. So, any change in the config files, package additions or modifications in build scripts will result in auto generation of a new debian filesystem that reflects these changes. The new builds will store the filesystem image as an artifact hosted on the same repo, allowing other users to test the change without making a new build. These images are available via github for 90 days after which they may be purged to save disk space.
1833

1934

2035
Debian vs Yocto
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
======================
2+
Building Debian Images
3+
======================
4+
5+
Introduction
6+
============
7+
8+
Texas Instruments uses the **Armbian** build framework to generate Debian images for its platforms. *Armbian* describes itself to be a "base operating system"; that is, a build framework used to build Linux images optimized for Single-Board Computers.
9+
10+
|__SDK_DOWNLOAD_URL__| provides Debain images for AM62L, but users can also build these, especially if users require something custom (such as different kernel configurations or default desktop environments).
11+
12+
Armbian Usage
13+
=============
14+
15+
This document provides high-level information about how to build Debian images for AM62LX, using Armbian. For a full list of options available for users to configure these images at build time, see `Armbian Documentation <https://docs.armbian.com/>`__.
16+
17+
Get Armbian
18+
-----------
19+
20+
For the time being, TI's fork of Armbian maintains AM62L support. Therefore, the first step is to fetch TI's fork:
21+
22+
.. code-block:: console
23+
24+
git clone https://github.com/TexasInstruments/armbian-build.git
25+
26+
Repository Structure
27+
--------------------
28+
29+
There are 4 files and directories of relevance to this high-level overview:
30+
31+
- ``configs/``: This directory has configurations for boards, families, kernel configurations, desktop or CLI environments and so on. To find configuration files relevant to TI, see:
32+
- ``configs/sources/families/k3.conf``
33+
- ``configs/kernel/linux-k3-current.conf``
34+
- ``configs/kernel/linux-k3-rt-current.conf``
35+
36+
- ``compile.sh``: This is the script that the user should run for building Armbian images.
37+
38+
- ``lib/``: This directory stores the scripts that do most of the work in building Armbian images.
39+
40+
- ``extensions/``: This directory has files that define **extension hooks**. In Armbian, *extension hooks* are function signatures, which the build framework calls in the process of building an image. However, the build framework does not define these in ``lib/``. Users can define these functions and integrate custom steps in the build process. TI has ``extensions/ti-debpkgs.sh`` extension file for AM62L. To customize the build process, create a new file in this directory, and define your extension hooks there. Once the file is created, be sure to add the following line to board/family config file:
41+
42+
.. code-block:: console
43+
44+
enable_extension <extension_name>
45+
46+
- ``userpatches/``: This directory stores files that define build parameters, user patches and so on.
47+
48+
Building Images
49+
---------------
50+
51+
Armbian supports an interactive build process. To build interactively, go to TI's Armbian fork you cloned, and use the following command:
52+
53+
.. code-block:: console
54+
55+
./compile.sh
56+
57+
The build framework will then display dialog boxes, through which the user can select the board, CLI or desktop environment, kernel configurations and so on.
58+
59+
To build the image non-interactively, specify all required **Build Switches** in the command:
60+
61+
.. code-block:: console
62+
63+
./compile.sh [command] [switch...] [command...]
64+
65+
A full list of build switches is available at `Build Switches <https://docs.armbian.com/Developer-Guide_Build-Switches/>`__.
66+
67+
For example, the following command builds the image at |__SDK_DOWNLOAD_URL__|:
68+
69+
.. code-block:: console
70+
71+
./compile.sh build BOARD=am62l-evm BRANCH=current BUILD_MINIMAL=yes KERNEL_CONFIGURE=no RELEASE=trixie SKIP_ARMBIAN_REPO=yes
72+
73+
``output/images/`` stores the built images. These images have a ``.img`` extension.

source/devices/AM62LX/debian/Getting_Started_Guide.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
Getting Started with Debian
55
***************************
66

7-
The SD card Image tisdk-debian-trixie-<machine>-<version>.wic.xz provided on the |__SDK_DOWNLOAD_URL__| is all you need to get started and explore Debian on TI microprocessors.
7+
The SD card Image ti_debian_trixie_<machine>-<armbian-version>.img provided on the |__SDK_DOWNLOAD_URL__| is all you need to get started and explore Debian on TI microprocessors.
88

99
The Debian Image provided has all the basic packages required to boot with weston as default window manager. The user can install any new package using inbuilt 'apt' utility
1010
and customize the filesystem as required.

source/devices/AM62LX/debian/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Debian Developer's Guide
1616

1717
/debian/Overview
1818
Getting_Started_Guide
19-
/debian/Building_Debian_Image
19+
Building_Debian_Image
2020
/debian/Building_Debian_Packages
2121
/debian/How_to_Guides/index_How_to_Guides
2222
/debian/Demo_User_Guides/index_Demos

0 commit comments

Comments
 (0)